package wheel.arithmetic;

import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.RandomUtil;

/**
 * 交换排序-冒泡排序
 */
public class BubbleSort {

    public static void main(String[] args) {

        int[] arr = new int[10000];
        for(int i=0; i<arr.length; i++){
            arr[i] = RandomUtil.randomInt(0, arr.length);
        }



//        System.out.println("输入: "+ArrayUtil.toString(arr));


        long startTime = System.currentTimeMillis();
        execute(arr);
        long endTime = System.currentTimeMillis();
        System.out.println("耗时: "+(endTime-startTime)+"ms");
//        System.out.println("输出: "+ArrayUtil.toString(arr));

    }

    public static void execute(int[] arr){
        int len = arr.length;

        for(int a=0; a<len-1; a++){
            for(int b=0; b<len-1-a; b++){


                int o1 = arr[b];
                int o2 = arr[b+1];
                if(o1>o2){
                    arr[b] = o2;
                    arr[b+1] = o1;
                }

            }
        }
    }

    //耗时: 220ms 298ms 162ms 一万个
    //耗时: 21026ms 19406ms 21734ms 十万个
    //耗时: 79396ms 72847ms 86133ms 二十万个
}
